#include "w_sm2.h"
#include <iostream>
#include "sm2_create_key_pair.h"
#include "sm2_encrypt_and_decrypt.h"
#include "test_sm2_encrypt_and_decrypt.h"

int w_sm2_create_key_pair(SM2_KEY_PAIR* key_pair)
{
	std::cout << "hello wxy1"  << "\n";
	return sm2_create_key_pair(key_pair);
}

int w_sm2_encrypt_data_test(const unsigned char* message,
    const int message_len,
    const unsigned char* pub_key,
    unsigned char* c1,
    unsigned char* c3,
    unsigned char* c2)
{
    return sm2_encrypt_data_test(message, message_len, pub_key, c1, c3, c2);
}

int w_sm2_decrypt(const unsigned char* c1,
    const unsigned char* c3,
    const unsigned char* c2,
    const int c2_len,
    const unsigned char* pri_key,
    unsigned char* plaintext)
{
    return sm2_decrypt(c1, c3, c2, c2_len, pri_key, plaintext);
}

int w_sm2_encrypt(const unsigned char* message,
    const int message_len,
    const unsigned char* pub_key,
    unsigned char* c1,
    unsigned char* c3,
    unsigned char* c2)
{
    return sm2_encrypt(message, message_len, pub_key, c1, c3, c2);
}

int w_test_with_input_defined_in_standard(void)
{
    return test_with_input_defined_in_standard();
}
int w_test_sm2_encrypt_and_decrypt(void)
{
    return test_sm2_encrypt_and_decrypt();
}